package com.yang.mall.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yang.mall.dto.LiveOrderMasterDTO;
import com.yang.mall.dto.QueryOrderDTO;
import com.yang.mall.dto.QueryStatisticsDTO;
import com.yang.mall.entity.LiveOrder;
import com.yang.mall.entity.QueryRequest;
import com.yang.mall.vo.LiveOrderVO;
import com.yang.mall.vo.OrderStatisticsVO;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author kadorlin
 * @since 2022-10-21
 */
public interface ILiveOrderService extends IService<LiveOrder> {


    /**
     * 提交订单
     * @author:kadorlin
     * @date:2022/10/24 10:17
     * @param liveOrderMasterDTO
     * @return:void
     **/
    LiveOrder submit(LiveOrderMasterDTO liveOrderMasterDTO);

    /**
     * 订单列表
     * @author:kadorlin
     * @date:2022/10/24 10:42
     * @param queryOrderDTO
     * @return:com.baomidou.mybatisplus.core.metadata.IPage<com.yang.mall.vo.LiveOrderVO>
     **/
    IPage<LiveOrderVO> orderList(QueryOrderDTO queryOrderDTO);

    /**
     * 订单明细
     * @author:kadorlin
     * @date:2022/10/24 10:55
     * @param orderId
     * @return:com.yang.mall.vo.LiveOrderVO
     **/
    LiveOrderVO detail( Long orderId);

    /**
     *
     * @author:kadorlin
     * @date:2022/10/24 10:56
     * @param orderId
     * @return:void
     **/
    void cancel(Long orderId);

    /**
     * 订单统计
     * @author:kadorlin
     * @date:2022/10/26 17:47
     * @param queryStatisticsDTO
     * @return:com.yang.mall.vo.OrderStatisticsVO
     **/
    OrderStatisticsVO statistics(QueryStatisticsDTO queryStatisticsDTO);

}
